#!/usr/bin/python
# -*- coding: utf-8 -*-

"""
  Функции работы с новостями
"""

import logging
from engine import settings
from google.appengine.ext import db
from datetime import datetime
#from google.appengine.api import memcache

class News(db.Model):
  """Класс - новость
  """
  Text = db.StringProperty(verbose_name = 'Сообщение', multiline=True, required = True)
  Date = db.DateTimeProperty(verbose_name = 'Время/Дата', auto_now = True)
#  Poster = db.UserProperty(required=True)

def AddNews(text):
  """Добвить новость
  Args:
    text: текст новости
    
  Returns: ключ новости
  """
  n = News(Text = text)
  return n.put()

def GetNews(single = True):
  """Получить новости из базы
  Args:
    single: получить только одну новость (последнюю)

  Returns: запрос новости
  """

  q = News.all().order('-Date')
  
  if not q.get():
    q = None
    logging.warning('GetNews: no news exists!')
  else:
    if single:
      q = q.get()

  return q

def DelNews(news):
  """Удаление новостей
  Args:
    news: ключи для выборки из базы данных
  """
  results = News.get(news)
  for result in results:
    result.delete()